package com.platform.qujia.param.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

@Data
@NoArgsConstructor
@ApiModel("支付请求参数")
public class TradeReverseScanPayParameter implements Serializable {

	/**
	 * 合作机构id
	 */
//	@NotEmpty(message="合作机构id不能为空")
	@ApiModelProperty(value = "随行付pos机支付-合作机构id,必传", example = "57308998")
	private String orgId;
	
	/**
	 * 请求id
	 */
	@NotEmpty(message="请求id不能为空")
	@ApiModelProperty(value = "随行付pos机支付-请求id,必传", example = "77fe20f79fc24b54adec1fba6e0d1ea1")
	private String reqId;
	
	/**
	 * 请求时间
	 */
//	@NotNull(message="请求时间不能为空")
	@NotEmpty(message="请求时间不能为空")
	@ApiModelProperty(value = "随行付pos机支付-请求时间，必传(和请求支付时的时间一致)", example = "2023-06-20 15:28:28")
	private String timestamp;
	
	/**
	 * 商户编号
	 */
//	@NotEmpty(message="商户编号不能为空")
	@ApiModelProperty(value = "随行付pos机支付-商户编号,必传", example = "399*********")
	private String mno;
	/**
	 * 商户订单号
	 */
	@NotEmpty(message="商户订单号不能为空")
	@ApiModelProperty(value = "随行付pos机支付-商户订单号,必传", example = "399200503888644")
	private String ordNo;
	/**
	 * 授权码
	 */
	@ApiModelProperty(value = "随行付pos机支付-授权码，查询订单时不用传", example = "131518436987228122")
	private String authCode;
	
	/**
	 * 订单总金额
	 */
	@ApiModelProperty(value = "随行付pos机支付-订单总金额，查询订单时不用传", example = "0.01")
	private String amt;
	
	/**
	 * 订单标题
	 */
	@ApiModelProperty(value = "随行付pos机支付-订单标题，查询订单时不用传", example = "产品")
	private String subject;
	
	/**
	 * ip地址
	 */
	@ApiModelProperty(value = "随行付pos机支付-ip地址，查询订单时不用传", example = "127.0.0.1")
	private String trmIp;

	/**
	 * 支付结果通知地址
	 * 注 ：被扫不输密，同步返回结果，且不会推送异步通知。被扫输密，上送回调地址且交易成功会异步通知
	 */
	@JsonIgnore
	private String notifyUrl;

	/**
	 * 扩展字段
	 * 正交易上送则原路返回
	 */
	@JsonIgnore
	private String extend;

//	public String getOrgId() {
//		return orgId;
//	}
//
//	public void setOrgId(String orgId) {
//		this.orgId = orgId;
//	}
//
//	public String getReqId() {
//		return reqId;
//	}
//
//	public void setReqId(String reqId) {
//		this.reqId = reqId;
//	}
//
//	public String getTimestamp() {
//		return timestamp;
//	}
//
//	public void setTimestamp(String timestamp) {
//		this.timestamp = timestamp;
//	}
//
//	public String getMno() {
//		return mno;
//	}
//
//	public void setMno(String mno) {
//		this.mno = mno;
//	}
//
//	public String getOrdNo() {
//		return ordNo;
//	}
//
//	public void setOrdNo(String ordNo) {
//		this.ordNo = ordNo;
//	}
//
//	public String getAuthCode() {
//		return authCode;
//	}
//
//	public void setAuthCode(String authCode) {
//		this.authCode = authCode;
//	}
//
//	public String getAmt() {
//		return amt;
//	}
//
//	public void setAmt(String amt) {
//		this.amt = amt;
//	}
//
//	public String getSubject() {
//		return subject;
//	}
//
//	public void setSubject(String subject) {
//		this.subject = subject;
//	}
//
//	public String getTrmIp() {
//		return trmIp;
//	}
//
//	public void setTrmIp(String trmIp) {
//		this.trmIp = trmIp;
//	}
//	
	
	
}
